<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>4_createRef</title>
  </head>
  <body>
    <!-- 准备好一个容器 -->
    <div id="root"></div>

    <!-- 引入react核心库 -->
    <script type="text/javascript" src="../js/react.development.js"></script>
    <!-- 引入react-dom 用于支持react操作dom -->
    <script
      type="text/javascript"
      src="../js/react-dom.development.js"
    ></script>
    <!-- 引入babel 将js转换成jsx -->
    <script type="text/javascript" src="../js/babel.min.js"></script>

    <!-- type="text/babel" 表示写的是 jsx 使用babel 翻译 -->
    <script type="text/babel">
      // 1.创建组件
      class MyComponent extends React.Component {
        /*
          React,createRef调用后可以返回一个容器，该容器可以存储被ref所标识的节点 该容器是专人专用的
        */
        myRef = React.createRef();
        render() {
          return (
            <div>
              <input ref={this.myRef} type="text" />
              <button onClick={this.clickAlertData}>点我输出数据</button>
            </div>
          );
        }

        clickAlertData = () => {
          console.log(this.myRef.current.value);
          alert(this.myRef.current.value);
        };
      }

      // 2.渲染页面到元素
      ReactDOM.render(<MyComponent />, document.getElementById("root"));
    </script>
  </body>
</html>
